package com.easygoods.dao;


import com.easygoods.base.BaseDao;
import com.easygoods.entity.GoodsSku;
import com.easygoods.entityex.GoodsSkuEx;
import com.easygoods.entityex.GoodsSkuWithSpecs;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author zhq
 * @date 2019/1/4 14:30
 */
@Repository
public interface GoodsSkuDao extends BaseDao<GoodsSku> {
    //根据 spuId 获取 sku 列表
    List<GoodsSkuWithSpecs> findSkuWithSpecsListBySpu(@Param("spuId") String spuId);

    //根据 spuId 获取 sku 列表
    List<GoodsSkuEx> findSkuListBySpu(@Param("spuId") String spuId);

    //获取指定 sku 的可用库存
    int getAvailableStock(@Param("skuId") String skuId);

    //扣减库存
    int decreaseStock(@Param("skuId") String skuId, @Param("stock") int stock);

    //查询 sku 带上 merchantId
    GoodsSku findMerchantSku(@Param("merchantId") String merchantId, @Param("skuId") String skuId);
}
